Der eigene Kalender mit Radicale

Wer Termine, Projekte und Privatinteressen in Form eines Online-Kalenders Google, Microsoft oder anderen Gratis-Anbietern anvertraut, gibt sehr viel von sich preis. Mit etwas Handarbeit kommt Ihr Kalender nach Hause.

Funktionalität, Komfort und Optik eines Google-Kalenders sind auch auf einem autarken Kalender zu erzielen. Während Google & Co. dies aus dem Stand bieten, kommen Datenschutzbewusste an einiger Konfigurationsarbeit nicht vorbei. Wer eine eigene Homepage besitzt, sollte zunächst die Angebote seines Providers beachten: Diese bieten meist eine Web-App wie etwa den Web Calender. Die Installation ist über das Kundencenter des Providers einfach, der Import von iCal-Daten (.ics), vor allem aber die Konfiguration und ansprechende Anpassung sind mit einigem Aufwand verbunden. Wer keine Homepage besitzt oder seine Kalenderdaten auch keinem deutschen Provider anvertrauen will, kann auch einen heimischen Linux-Rechner verwenden, vorzugsweise einen anspruchslosen Mini-PC von der Sorte Raspberry. Das nachfolgende Szenario nutzt den sehr anspruchslosen CalDAV und CardDAV-Server Radicale auf einem Debian-basierten Linux (Debian, Raspbian, Ubuntu, Mint).

0_radicale

Die Kalender-Software Radicale

Radicale (http://radicale.org/) ist ein sehr einfacher Server ohne Datenbank, ohne Konfigurationshilfen und ohne Kalender-Frontend. Zur Darstellung des Kalenders benötigen Sie eine Client-Software, vorzugsweise Thunderbird (mit Lightning) unter Linux und Windows. Als Clients funktionieren aber auch Outlook, DAVdroid unter Android oder der Apple-Calendar unter iOS/Mac OS. Radicale sorgt für die Bereitstellung von iCal-Dateien und deren Synchronisierung mit den jeweiligen Kalender-Clients; eine einfache Benutzerverwaltung ermöglicht mehreren Anwendern mit je eigenen Kalenderdaten die Nutzung des Servers.

Radicale liegt in den offiziellen Paketquellen, daher ist die Installation unter Debian/Raspbian/Ubuntu mit

apt-get install radicale

denkbar einfach. Zum ersten manuellen Start genügt der Befehl radicale. Danach sollte jeder Browser im Adressraum des Radicale-Servers nach Eingabe der Adresse

[Server-IP]:5232

die Meldung „Radicale works!“ anzeigen. Gesprächiger ist Radicale nicht: Alles Weitere müssen Sie in Konfigurationsdateien erledigen und eventuelle Fehler durch optionales Logging verifizieren.

Die folgenden Konfigurationsdateien sind substantiell:

/etc/radicale/config ist die Zentrale und enthält die wichtigsten Angaben, unter anderem die Server-IP, den Pfad zu den iCal-Kalenderdaten (*.ics) und die erlaubten Benutzer.

/etc/radicale/users enthält die Benutzer und das zugehörige Kennwort – entweder im Klartext oder verschlüsselt.

/etc/radicale/rights benennt die detaillierten Lese-/Schreibrechte für jeweils jede einzelne ics-Datei.

Minimalkonfiguration für einen User (Beispiel): Die komplexe config-Datei lässt sich auf diese Anweisungen reduzieren. Das Logging ist vor allem während der Einrichtung zu empfehlen.
Minimalkonfiguration für einen User (Beispiel): Die komplexe config-Datei lässt sich auf diese Anweisungen reduzieren. Das Logging ist vor allem während der Einrichtung zu empfehlen.

Die Dateien sind in diesem Artikel in einer minimalen, aber funktionierenden Ausstattung inhaltlich abgebildet. Die möglichst einfache gehaltene Beispielkonfiguration sieht nur einen Benutzer vor. Erlaubte User müssen in der Datei mit config nach „private_users =“ mit Komma separiert eingetragen sein. Das zugehörige Kennwort ermittelt Radicale in der Datei users. Soll dieses Kennwort verschlüsselt werden (siehe „htpasswd_encryption = sha1“ in der Datei config, unverschlüsselt wäre „= plain“), dann fügen Sie den Benutzer mit dem Befehl

htpasswd -cs /etc/radicale/users [username]

in die Datei users ein. Lassen Sie den Create-Schalter „c“ weg, wenn die Datei bereits existiert und Sie weitere Benutzer hinzufügen. Für die unverschlüsselte Speicherung unter users funktioniert der gleiche Befehl mit Schalter „-p“ („plain“) oder einfach manuelles Eintragen in dieser Form:

user:kennwort

Die Kalenderdateien befinden sich standardmäßig unter /var/lib/radicale/collections mit Unterverzeichnissen der Benutzer. Wenn Sie Ihren Kalender nicht von Null aufbauen möchten, sondern die Daten eines bereits bestehenden übernehmen wollen, speichern Sie die betreffende ics-Datei unter /var/lib/radicale/collections/[username]. So bietet etwa der Google-Kalender den ics-Export unter „Einstellungen -> Kalender -> [Kalendername] -> Diesen Kalender exportieren“. In Thunderbird/Lightning eingebaute Kalender sind in der Kalenderliste nach Rechtsklick und „Kalender exportieren“ mühelos zu speichern.

Verschlüsselt oder Klartext: Die Datei users enthält die erlaubten Benutzer und ihre Kennwörter. Die Einträge erledigt das Tool htpasswd.
Verschlüsselt oder Klartext: Die Datei users enthält die erlaubten Benutzer und ihre Kennwörter. Die Einträge erledigt das Tool htpasswd.

Damit ein Benutzer Lese- und Schreibrechte auf seine ics-Dateien erhält, muss dies in der bereits genannten Datei /etc/radicale/rights exakt geregelt sein. Ein Eintrag wie

[hermann/privat.ics]

hermann: rw

gibt dem User „Hermann“ die vollen Rechte an der Datei /var/lib/radicale/collections/hermann/privat.ics. Die abgebildete rights-Datei simplifiziert die Rechtevergabe.

Und noch eine Konfigurationsdatei gilt es zu bearbeiten: Die Datei /etc/default/radicale/ enthält diesen auskommentierten Eintrag:

#ENABLE_RADICALE=yes

Wenn Sie das #-Zeichen entfernen, startet Radicale künftig automatisch beim Systemstart.

Noch ein wichtiger Hinweis bei Konfigurationsänderungen: Änderungen an config, users, rights werden erst aktiv, wenn Sie den Server neu starten. Mit

service radicale restart

ist das schnell erledigt.

Rechte für /var/lib/radicale/collections/: Diese rights-Datei geht auf einzelne ics-Dateien gar nicht ein, sondern sorgt einfach für alle Rechte im Collections-Ordner und im User-Verzeichnis darunter.
Rechte für /var/lib/radicale/collections/: Diese rights-Datei geht auf einzelne ics-Dateien gar nicht ein, sondern sorgt einfach für alle Rechte im Collections-Ordner und im User-Verzeichnis darunter.

Die Kalender-Clients einrichten

Auch wenn Sie das „collections“-Verzeichnis mit exportierten ics-Dateien gefüttert haben: Bis hierher haben Sie keinen einzigen Kalender-Termin gesehen, da Radicale mit der Ausgabe und Darstellung nichts zu tun hat. Diese geschieht erst mit der Einbindung in einen Kalender-Client wie vorzugsweise Thunderbird (Lightning). Öffnen Sie den Kalender über „Termine und Aufgabe -> Kalender“. Falls die Seitenleiste mit der Kalenderliste nicht aktiv ist, gehen Sie auf „Ansicht -> Kalender -> Seitenleiste -> Kalenderliste“. Nach Rechtsklick und „Neuer Kalender“ wählen Sie „Im Netzwerk“ und als Format vorzugsweise „CalDAV“. Das Adressformat folgt dieser Form

http://[Radicale-Server-IP]:5232/[Benutzer]/[Kalendername].ics/

und lautet dann etwa http.//192.168.0.6:5232/hermann/privat.ics/. Achten Sie auf den Slash (/) am Ende der Importadresse. Die Kalenderdaten werden dann sofort eingelesen. Durch unterschiedliche Färbung der einzelnen Kalender (Rechtsklick auf den Kalender und „Eigenschaften -> Farbe“) erreichen Sie eine übersichtliche Darstellung, die Google & Co. kaum toppen können.

Die Erreichbarkeit der Kalenderdaten via Internet folgt den üblichen Regeln: Sie müssen im Router einen Port Ihrer Wahl freigeben und an den Standardport 5232 (sofern in der config-Datei beibehalten) des Radicale-Servers weiterleiten.


Ähnlicher, vereinfachter Ratgeber (ohne Benutzerrechte) vom Kollegen T. Eggeling siehe Kalender-Server auf pcwelt.de